home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Game-Power
/
Amiga Game-Power.iso
/
pd mix ii
/
access
/
hddriver
/
driver
/
harddisk.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-05-20
|
2KB
|
88 lines
/*
* Hard disk header file
*/
/*
* Copyright 1987 Alan Kent
*
* Permission is granted to redistribute this code as long
* as this message is retained in the code and the code is
* not sold without written permission from the author.
*
* UUCP: {seismo,hplabs,mcvax,ukc,nttlab}!munnari!goanna.oz!ajk
* ACSnet: ajk@goanna.oz
* ARPA: munnari!goanna.oz!ajk@SEISMO.ARPA
*/
#ifndef DEVICES_HARDDISK_H
#define DEVICES_HARDDISK_H
#ifndef DEVICES_TRACKDISK_H
#include "devices/trackdisk.h"
#endif
#define HD_NAME "harddisk.device"
/* at present, can only handle 1 unit */
/* problems with sharing interrupts, caches etc */
#define HD_NUMUNITS 1
#define HD_SECTOR 512
#define HD_SECSHIFT 9
#define HD_PARK (TD_LASTCOMM+1)
#define HD_GETINFO (TD_LASTCOMM+2)
#define HD_LASTCOMM HD_GETINFO
#define HD_MAGIC 0xCE11DCF0
#define HD_MAP_SIZE (4*(HD_SECTOR/sizeof(LONG)))
#define HD_MAP_SECTORS (sizeof(struct hd_FirstSector)/HD_SECTOR)
struct hd_FirstSector {
LONG magic;
LONG cylinders;
LONG park_cylinder;
LONG heads;
LONG sectors;
LONG map_sectors;
LONG bad_sectors;
LONG precomp;
UBYTE pad[HD_SECTOR-8*sizeof(LONG)];
UBYTE interleave[ HD_SECTOR ];
LONG map[ HD_MAP_SIZE ];
};
/* for map */
#define MAP_MARK_FREE -1
/* MARK_BAD means the sector is a bad sector so dont use it */
#define MAP_MARK_BAD -2
struct IOExtHD {
struct IOExtTD iohd_TD;
/* any extensions go here */
struct hd_FirstSector iohd_Info; /* used only by HD_GETINFO */
};
#endif